package com.sinodata.bsm.center.expression;

import java.util.List;

import com.sinodata.bsm.center.bean.ResBean;

/**
 * 
 * <p>
 * Description: 这个接口用于生成性能图定制时JavaDoc帮助
 * </p>
 *
 * @author hehaiyang_itsm
 * @version 1.0

 * <p>
 * History: 
 *
 * Date                     Author         Version     Description
 * ---------------------------------------------------------------------------------
 * 2012-7-21 上午10:14:14          hehaiyang_itsm        1.0         To create
 * </p>
 *
 * @since 
 * @see
 */
public interface IFunctions {
    /**
     * 获得资源模型对象
     * @param resId
     * @return
     */
    ResBean res(Long resId);

    /**
     * 获得某个类别的全部子资源
     * @param resId
     * @param resTypeId
     * @return
     */
    List<ResBean> children(Long resId, Long resTypeId);

    /**
     * 获取第一个子孙资源类别的指标值
     * @param resId
     * @param propId
     * @return
     */
    Object childProp(Long resId, Long propId);

    /**
     * 获取第一个子孙资源类别的属性值
     * @param resId
     * @param propId
     * @return
     */
    Object childAttr(Long resId, Long attrId);

    /**
     * 返回最严重指标颜色
     * @param resId
     * @param propId
     * @return
     */
    Object eventColor(Long resId, Long propId);

    /**
     * 获得指标最大的资源
     * @param resId
     * @param propId
     * @return
     */
    ResBean maxChild(Long resId, Long propId);

    /**
     * 获得指标最小的资源
     * @param resId
     * @param propId
     * @return
     */
    ResBean minChild(Long resId, Long propId);
}
